home *** CD-ROM | disk | FTP | other *** search
/ Item MB Quick & Easy 2.0 / Item MB Quick & Easy 2.0.iso / mbfacad / mb35002.lsp < prev    next >
Text File  |  1998-03-15  |  10KB  |  234 lines

  1. ;=============350.02 WELLENKLEMMPROFIL + WELLE 25
  2.  
  3. (EAITDBL "0035002")
  4. (EAITmsg "mb_mld10" "\n" "002" nil) (princ "........") (princ EAITnrx) (princ "\n")
  5. (princ)
  6.  
  7. (defun C:35002Q1 (/ P1 P0 Wi)
  8.    (EAITDBL "0035002")
  9.    (princ (strcat "\n\n" EAITbez1))
  10.    (EAITvari)
  11.    (EAITvars)
  12.    (setvar "ORTHOMODE" 0)
  13.    (EAITbpt EAITofpun 8 nil)
  14.    (setq P1 (getpoint))
  15.    (if (= P1 nil)(setq P1 (EAITrpt)))
  16.    (setvar "ORTHOMODE" 1)
  17.    (setvar "OSMODE" 0)
  18.    (EAITmsg "mb_mld10" "\n" "003" nil)            ;Drehwinkel
  19.    (command EAITege (strcat EAITpfn "35002q1") P1 "" "" EAITofkei pause)
  20.  
  21.    (setq Wi (EAITbw))
  22.  
  23.    (EAITDBL "0035002")   ;Wellenklemmprofil 25
  24.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P1 (+ Wi (EAITgib 290)) 14) "" "" ""
  25.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  26.    )
  27.    (EAITDBL "0035009")   ;Welle 25
  28.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P1 (+ Wi (EAITgib 11)) 25) "" "" ""
  29.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  30.    )
  31.    (EAITDBL "0035017")   ;Befestigungssatz für Wellenklemmprofil 25
  32.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P1 (+ Wi (EAITgib 180)) 7.5) "" "" ""
  33.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  34.    )
  35.  
  36.    (EAITvarz2)
  37.    (princ)
  38. )
  39.  
  40.  
  41. (defun C:35002S2 (/ P0 P1 P2 P3 P4 P5 P6 P7 P8 E1 E2 E3 E4 E5 E6 E7 Li
  42.                    Lix Wi KW D18 D20 D30 BName n Ben2 W1 W2)
  43.    (EAITDBL "0035002")
  44.    (princ (strcat "\n\n" EAITbez1))
  45.    (EAITvari)
  46.    (if (not EAITlpr)(setq EAITlpr 0.0))
  47.    (EAITvars)
  48.    (EAITbpt nil nil nil)
  49.    (setq P1 (getpoint))
  50.    (if (= P1 nil)(setq P1 (EAITrpt)))
  51.    (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")  ;Laenge < >
  52.    (initget (+ 2 4))
  53.    (setq Li (getdist " "))
  54.    (if (= Li nil)(setq Li EAITlpr))
  55.    (setq Li (EAITck Li))
  56.    (setq Li (atof (rtos (abs Li) 2 1)))
  57.    (princ "\n  -> ")(princ Li)
  58.  
  59.    (setvar "OSMODE" 0)
  60.    (setvar "ORTHOMODE" 0)
  61.    (initget 1)
  62.    (EAITmsg "mb_mld10" "\n" "008" nil)           ;Konstruktionsrichtung
  63.    (setq Wi (getangle P1))
  64.    (setq Wi (* 180.0 (/ Wi Pi)))
  65.    (cond 
  66.           ((and (>= Wi  0)  (< Wi  45)) (setq D18  18.0 D30  30.5 D20  20.5 KW   0 W1 45  W2 74) )
  67.           ((and (>= Wi 45)  (< Wi  90)) (setq D18 -18.0 D30 -30.5 D20 -20.5 KW  90 W1 45  W2 16) )
  68.           ((and (>= Wi 90)  (< Wi 135)) (setq D18  18.0 D30  30.5 D20  20.5 KW  90 W1 135 W2 164) )
  69.           ((and (>= Wi 135) (< Wi 180)) (setq D18 -18.0 D30 -30.5 D20 -20.5 KW 180 W1 135 W2 106) )
  70.           ((and (>= Wi 180) (< Wi 225)) (setq D18  18.0 D30  30.5 D20  20.5 KW 180 W1 225 W2 254) )
  71.           ((and (>= Wi 225) (< Wi 270)) (setq D18 -18.0 D30 -30.5 D20 -20.5 KW 270 W1 225 W2 196) )
  72.           ((and (>= Wi 270) (< Wi 315)) (setq D18  18.0 D30  30.5 D20  20.5 KW 270 W1 315 W2 344) )
  73.           (T                            (setq D18 -18.0 D30 -30.5 D20 -20.5 KW   0 W1 315 W2 286) )
  74.    )
  75.    (setq P2 (polar P1 (EAITgib KW) Li)
  76.          P3 (polar P2 (EAITgib (+ KW 90)) D30)
  77.          P4 (polar P1 (EAITgib (+ KW 90)) D30)
  78.          P5 (polar P1 (EAITgib (+ KW 90)) D20)
  79.          P6 (polar P2 (EAITgib (+ KW 90)) D20)
  80.          P7 (polar (polar P2 (EAITgib (+ KW 90)) D18) (EAITgib KW) 5)
  81.          P8 (polar P7 (EAITgib (+ KW 180)) (+ Li 10) )
  82.    )
  83.    (command EAITlay EAITlse "EAIT50" "")
  84.    (command EAITlin P1 P2 "")
  85.    (setq E1 (entlast))
  86.    (command EAITlin P2 P3 P4 P1 "" EAITlin P5 P6 ""
  87.             EAITlay EAITlse "EAITstpg" ""
  88.             EAITlin P7 P8 "")
  89.    (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3)
  90.          E5 (entnext E4) E6 (entnext E5) )
  91.  
  92.    (setq BName (EAITbnr))
  93.    (command EAITblo BName P1 E1 E2 E3 E4 E5 E6 "")
  94.    (command EAITege BName P1 "" "" "")
  95.  
  96.    (setq Li (rtos (abs Li) 2 1))
  97.    (EAITDBL "0035002")   ;Wellenklemmprofil 25
  98.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P1 (EAITgib W1) 12) "" "" ""
  99.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 Li (rtos EAITb1 2 1) EAITnr
  100.    )
  101.    (EAITDBL "0035009")   ;Welle 25
  102.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P1 (EAITgib W2) 28) "" "" ""
  103.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 Li (rtos EAITb1 2 1) EAITnr
  104.    )
  105.    (EAITDBL "0035017")   ;Befestigungssatz für Wellenklemmprofil 25
  106.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P1 (EAITgib W1) 30) "" "" ""
  107.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  108.    )
  109.  
  110.    (EAITvarz2)
  111.    (princ)
  112. )
  113.  
  114.  
  115.  
  116.  
  117.  
  118. (defun C:35002D2 (/ P0 P01 P1 P2 P3 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 PS0 PS1
  119.                      E1 E2 E3 E4 E5 E6 E7 Li Wi BName NL)
  120.    (EAITDBL "0035002")
  121.    (princ (strcat "\n\n" EAITbez1))
  122.    (EAITvari)
  123.    (if (not EAITlpr)(setq EAITlpr 0.0))
  124.    (EAITvars)
  125.    (setvar "ORTHOMODE" 0)
  126.    (setvar "OSMODE" 32)
  127.    (EAITmsg "mb_mld12" "\n" "015" " : ")  ;1. Nutlinie :
  128.    (setq NL (entsel " "))
  129.    (setq P01 (osnap (cadr NL) EAITofnaec))
  130.    (setvar "APERTURE" 4)
  131.    (setvar "OSMODE" 0)
  132.    (setq P9  (osnap P01 EAITofend)
  133.          P10 (osnap P01 EAITofmit)
  134.          Wi1 (angle P9 P10)
  135.    )
  136.    
  137.    (EAITbpt nil nil (strcat (EAITmg "mb_mld14" "001")(princ " : ")(EAITmg "mb_mld10" "015")));Bezugspunkt auf zweiter Nutlinie : (RETURN = relativ)
  138.    (setq P1 (getpoint P01))
  139.    (if (= P1 nil)(setq P1 (EAITrpt)))
  140.    (setq PS1 (inters P1 (polar P1 (+ Wi1(/ Pi 2))10) P9 P10 nil))
  141.    (while (NOT(equal (distance P1 PS1) 8 0.0000000001))
  142.      (EAITmsg "mb_mld14" "\n\n" "002" nil)    ;Falscher Punkt !
  143.      (EAITbpt nil nil (strcat (EAITmg "mb_mld14" "003")(princ " : ")(EAITmg "mb_mld10" "015")));Bezugspunkt auf zweiter Nutlinie : (RETURN = relativ)
  144.      (setq P1 (getpoint P01))
  145.      (if (= P1 nil)(setq P1 (EAITrpt)))
  146.      (setq PS1 (inters P1 (polar P1 (+ Wi1(/ Pi 2))10) P9 P10 nil))
  147.    )
  148.  
  149.    (setvar "OSMODE" 512)
  150.    (initget (+ 1 2 4))
  151.    (EAITmsg "mb_mld14" "\n\n" "004" " :<")(princ EAITofnaec)(princ ">")  ;Richtung auf Profil (Punkt auf zweiter Nutlinie)
  152.    (setq P0 (getpoint P1))
  153.    (setq Wi (angle P1 P0))
  154.    (while (AND (NOT(equal Wi Wi1 0.000000001))(NOT (equal Wi (+ Wi1 Pi) 0.000000001)))
  155.      (EAITmsg "mb_mld14" "\n\n" "002" nil)    ;Falscher Punkt !
  156.      (initget (+ 1 2 4))
  157.      (EAITmsg "mb_mld14" "\n\n" "005" " :<")(princ EAITofnaec)(princ ">")  ;Neue Richtung auf Profil (Punkt auf zweiter Nutlinie)
  158.      (setq P0 (getpoint P1))
  159.      (setq Wi (angle P1 P0))
  160.    )    
  161.  
  162.    (setvar "OSMODE" 9)
  163.    (EAITmsg "mb_mld1" "\n" "005" " <")(princ EAITlpr)(princ "> ")  ;Laenge < >
  164.    (initget (+ 2 4))
  165.    (setq Li (getdist " "))
  166.    (if (= Li nil)(setq Li EAITlpr))
  167.    (setq Li (EAITck Li))
  168.    (setq Li (atof (rtos (abs Li) 2 1)))
  169.    (princ "\n  -> ")(princ Li)
  170.  
  171.    (setvar "OSMODE" 0)
  172.    (setq PS1 (inters P1 (polar P1 (+ Wi(/ Pi 2))10) P9 P10 nil)
  173.       P2 (mapcar '/ (mapcar '+ P1 PS1) '(2 2 2))
  174.       P3 (polar P2 Wi Li)
  175.          P11 (polar P2  (- Wi (EAITgib 90)) 16.5)
  176.          P12 (polar P11 Wi Li)
  177.          P13 (polar P12 (+ Wi (EAITgib 90)) 33)
  178.          P14 (polar P11 (+ Wi (EAITgib 90)) 33)
  179.          P15 (polar P11 (+ Wi (EAITgib 90)) 4.25)
  180.          P16 (polar P12 (+ Wi (EAITgib 90)) 4.25)
  181.          P17 (polar P15 (+ Wi (EAITgib 90)) 24.5)
  182.          P18 (polar P16 (+ Wi (EAITgib 90)) 24.5)
  183.          P19 (polar P2  (+ Wi (EAITgib 180)) 5)
  184.          P20 (polar P19 Wi (+ Li 10))
  185.    )
  186.  
  187.  
  188.    (if (/= (cdr (assoc 2 (entget (car NL)))) nil) (command EAITurs NL))
  189.    (command EAITzom EAITzomi (mapcar '/ (mapcar '+ P2 P3) '(2 2 2)) P12 P14)
  190.    (if (/= (ssget (polar P2 (+ Wi (/ Pi 4))(/ 4 (cos (/ Pi 4))))) nil)
  191.          (command EAITbru (polar P2 (+ Wi (/ Pi 4))(/ 4 (cos (/ Pi 4)))) EAITbre
  192.                           (polar P2 (+ Wi (/ Pi 2)) 4) (polar P3 (+ Wi (/ Pi 2)) 4)
  193.          )
  194.    )
  195.    (if (/= (ssget (polar P2 (- Wi (/ Pi 4))(/ 4 (cos (/ Pi 4))))) nil)
  196.          (command EAITbru (polar P2 (- Wi (/ Pi 4))(/ 4 (cos (/ Pi 4)))) EAITbre
  197.                           (polar P2 (- Wi (/ Pi 2)) 4) (polar P3 (- Wi (/ Pi 2)) 4)
  198.          )
  199.    )
  200.    (command EAITzom EAITzov)
  201.    (command EAITlay EAITlse "EAIT50" ""
  202.             EAITlin P11 P12 "" )
  203.    (setq E1 (entlast))
  204.    (command EAITlin P12 P13 P14 P11 "" EAITlin P15 P16 "" EAITlin P17 P18 ""
  205.             EAITlay EAITlse "EAITstpg" ""
  206.             EAITlin P19 P20 "")
  207.    (setq E2 (entnext E1) E3 (entnext E2) E4 (entnext E3)
  208.          E5 (entnext E4) E6 (entnext E5) E7 (entnext E6))
  209.  
  210.    (setq BName (EAITbnr))
  211.    (command EAITblo BName P1 E1 E2 E3 E4 E5 E6 E7 "")
  212.    (command EAITege BName P1 "" "" "")
  213.  
  214.  
  215.    (setq Li (rtos (abs Li) 2 1))
  216.    (EAITDBL "0035002")   ;Wellenklemmprofil 25
  217.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P11 (+ Wi (EAITgib 6)) 20) "" "" ""
  218.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 Li (rtos EAITb1 2 1) EAITnr
  219.    )
  220.    (EAITDBL "0035009")   ;Welle 25
  221.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P11 (+ Wi (EAITgib 45)) 30) "" "" ""
  222.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 Li (rtos EAITb1 2 1) EAITnr
  223.    )
  224.    (EAITDBL "0035017")   ;Befestigungssatz für Wellenklemmprofil 25
  225.    (command EAITege (strcat EAITpfn "EAITinfo") (polar P11 (+ Wi (EAITgib 6)) 40) "" "" ""
  226.                     EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
  227.    )
  228.  
  229.    (EAITvarz2)
  230.    (princ)
  231. )
  232.  
  233. (princ)
  234.